Communications devices are increasingly used in today's society. The rapid adoption of these devices has created a demand for trouble-free interoperability. Numerous companies produce communications devices and many of such devices have their own set of rules by which they communicate. Consumers of these devices demand interoperability, both between the devices and between the applications that run on them, so as to efficiently access the services offered by connected devices.
For example, one category of services may be consistent with the Web Services protocols jointly engineered by MICROSOFT Corporation, IBM, and others, although devices may additional or alternatively offer services that are not compliant with the Web Services protocols. Web Services is a standardized way of integrating applications. Standardized XML documents can be used with SOAP (Simple Object Access Protocol) messages and WSDL (Web Services Description Language) descriptions to integrate applications without an extensive knowledge of the applications being integrated. Web Services can also be used to enable communication between devices. The Web Services may be implemented on various types of devices and may be located using the “WS-Discovery” protocol.
Typically, if implementing Web Services protocols, a client will send a multicast message using the WS-Discovery protocol to locate a desired Web Service. The multicast message contains a “scope” which is used to identify the desired Web Service. For example, if a user located on the 10th floor of a building wanted to print a document using a color printer located on the 10th floor, the scope would include the floor number and desired printer functionality which is color printing in this case. As another example, if the user wanted to communicate with web-enabled cellular phones with the phone numbers ranging from 555-8000 to 555-8010, the scope would include only those cellular phones that were web-enabled and that were within that range of phone numbers.
Each device that receives the multicast message may then perform appropriate processing using the provided scope to determine whether the device contains the desired Web Service. After performing the processing, the devices will respond to the multicast message to allow the requesting client to identify those devices that are capable of providing the requested service as identified by the scope.
These multicast messages and the numerous responses generated thereby lead to significant network traffic and congestion. Furthermore, the devices offering the services often have little computational power and are often ill-suited to processing multiple multicast requests.
The subject matter claimed herein is not limited to embodiments that solve any disadvantages or that operate only in environments such as those described above. Rather, this background is only provided to illustrate one exemplary technology area where some embodiments described herein may be practiced.